package com.vhall.component.service.reward;


import com.vhall.component.entity.reward.dto.RewardGiveDTO;
import com.vhall.component.entity.reward.vo.*;
import com.vhall.component.entity.room.dto.RoomJoinsEntityDTO;

/**
 * 打赏的相关服务
 *
 * @author lsl
 * @since 2021/7/6 18:32
 */
public interface RewardService {

    /**
     * 进行打赏
     *
     * @param rewardGiveDTO
     * @return
     */
    RewardGiveRspVO give(RewardGiveDTO rewardGiveDTO);

    /**
     * 打赏排行信息查询
     *
     * @param reqVO    请求参数
     * @param userInfo 当前用户信息
     * @return
     */
    RewardRankRspVO rewarderRank(RewardRankReqVO reqVO, RoomJoinsEntityDTO userInfo);

    /**
     * 获取打赏排行榜
     *
     * @param reqVO
     * @return
     */
    RewardRankListRspVO rewardlistRank(RewardListRankReqVO reqVO);

    /**
     * 获取打赏记录
     *
     * @param reqVO
     * @return
     */
    RewardRecordsRspVO rewardRecordsList(RewardRecordsListReqVO reqVO);

    /**
     * 设置打赏支付状态
     *
     * @param reqVO
     * @return
     */
    RewardPayRspVO rewardPayStatusSet(RewardPayReqVO reqVO);
}
